/**
 * @author liangxi
 * @since 2024/7/22
 * @details 原型模式是为了解决对象创建而出现的一种模式，它与工厂模式的区别是，把工厂与业务接口合二为一，自己创建自己
 */

#ifndef DESIGNPATTERN_MACHINE_H
#define DESIGNPATTERN_MACHINE_H


#include <memory>

class Machine {

public:

    std::string vision = "0.0";
    virtual void exec() = 0;
    virtual std::shared_ptr<Machine> clone() = 0;   //以this进行深拷贝
    virtual ~Machine() = default;
};


#endif //DESIGNPATTERN_MACHINE_H
